//#include <stdio.h>
//#include <stdbool.h>
//
//int n;
//int permutation[10];
//bool used[10];
//
//void generate_permutations(int depth)
//{
//    if (depth == n)
//    {
//        for (int i = 0; i < n; i++)
//        {
//            printf("%d", permutation[i]);
//            if (i < n - 1)
//            {
//                printf(" ");
//            }
//        }
//        printf("\n");
//        return;
//    }
//
//    for (int i = 1; i <= n; i++)
//    {
//        if (!used[i])
//        {
//            used[i] = true;
//            permutation[depth] = i;
//            generate_permutations(depth + 1);
//            used[i] = false;
//        }
//    }
//}
//
//int main()
//{
//    scanf_s("%d", &n);
//    for (int i = 1; i <= n; i++) 
//    {
//        used[i] = false;
//    }
//    generate_permutations(0);
//    return 0;
//}

//#include <stdio.h>
//
//long long max(long long a, long long b) 
//{
//    return a > b ? a : b;
//}
//
//int main() 
//{
//    int n;
//    long long m;
//    scanf_s("%d %lld", &n, &m);
//    long long a[15];
//    for (int i = 0; i < n; i++) 
//    {
//        scanf_s("%lld", &a[i]);
//    }
//
//    long long ans = 0;
//    int total = 1 << n;
//    for (int i = 0; i < total; i++) 
//    {
//        long long sum = 0;
//        for (int j = 0; j < n; j++)
//        {
//            if (i & (1 << j)) 
//            {
//                sum += a[j];
//            }
//        }
//        ans = max(ans, sum % m);
//    }
//    printf("%lld\n", ans);
//    return 0;
//}

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

#define OFFSET 15000
#define SIZE 30001

int main() 
{
    int n;
    scanf_s("%d", &n);
    int arr[30];
    for (int i = 0; i < n; i++) 
    {
        scanf_s("%d", &arr[i]);
    }

    int A_fixed = 0, B_fixed = 0;
    int C[30];
    int count = 0;
    int T = 0;

    for (int i = 0; i < n; i++) 
    {
        int num = arr[i];
        if (num % 5 == 0)
        {
            A_fixed += num;
        }
        else if (num % 3 == 0) 
        {
            B_fixed += num;
        }
        else
        {
            C[count++] = num;
            T += num;
        }
    }

    int D = A_fixed - B_fixed;
    if ((T - D) % 2 != 0)
    {
        printf("false\n");
        return 0;
    }
    int target = (T - D) / 2;

    if (target < -OFFSET || target > OFFSET)
    {
        printf("false\n");
        return 0;
    }

    bool dp[SIZE] = { false };
    dp[OFFSET] = true;

    for (int i = 0; i < count; i++) 
    {
        int v = C[i];
        bool next_dp[SIZE] = { false };
        for (int j = 0; j < SIZE; j++) 
        {
            if (dp[j]) 
            {
                next_dp[j] = true;
                int new_index = j + v;
                if (new_index >= 0 && new_index < SIZE)
                {
                    next_dp[new_index] = true;
                }
            }
        }
        for (int j = 0; j < SIZE; j++)
        {
            dp[j] = next_dp[j];
        }
    }

    if (dp[target + OFFSET])
    {
        printf("true\n");
    }
    else
    {
        printf("false\n");
    }

    return 0;
}